#include <Windows.h>

// #include <QCoreApplication>
#include <iostream>
#include <string>

#include "ctestheadclass.h"
#include "basedatalenth.h"
#include "enumtype.h"
#include "stringdatatype.h"
#include "dateanddatetime.h"
#include "useofvariable.h"
#include "useofconst.h"
#include "useofoperator.h"
#include "branchstrcture.h"
#include "loopstatement.h"
#include "arraystudy.h"
#include "lambdamethod.h"
#include "gotomethod.h"
#include "exceptionhanding.h"
#include "point.h"

using namespace std;

int main(int argc, char *argv[]) {
    SetConsoleOutputCP(CP_UTF8);



  cout << "hello world !!" << endl;
  cout << "argc:" << argc << endl;
  cout << "argv:" << &argv << endl;

  /**
  20240104： 项目结构解读
  1.Healders---首文件（头文件）-----描述一个类，一个文件元素清单；
  2.Sources ---源文件，主文件；主要的代码块 ---对于头文件中元素的实现；
  ***/

    //  CtestHeadClass ctest;  // 得到一个CtestHeadClass 实例
    //  ctest.Show();
    //  ctest.Show(123, "Richard");

    /*
    cout << "size of int: " << sizeof(int) << endl;
    cout << "size of float: " << sizeof(float) << endl;
    cout << "size of bool: " << sizeof(bool) << endl;
    cout << "size of char: " << sizeof(char) << endl;
    cout << "size of double: " << sizeof(double) << endl;
    cout << "size of short: " << sizeof(short) << endl;
    */



  /*
    cout << endl << endl;
    cout << "Day3" << endl;
    cout << "===============================================" << endl;
    cout << "=======================基础数据类型==============" << endl;

//    BaseDataLenth basedatalen;
//    basedatalen.show();

    cout << "===============================================" << endl;
    cout << "=======================枚举=====================" << endl;
//    EnumType enumtype;
//    enumtype.show();

    cout << "===============================================" << endl;
    cout << "=====================字符串=====================" << endl;
//    StringDataType strDataType;
//    strDataType.show();


    cout << "===============================================" << endl;
    cout << "=====================时间和日期==================" << endl;
//    DateAndDateTime dateAndDateTime;
//    dateAndDateTime.show();

    cout << "===============================================" << endl;
    cout << "=====================变量=======================" << endl;
//    UseOfVariable useOfVariable;
//    useOfVariable.show();
    */

  /*
    cout << endl << endl;
    cout << "Day4" << endl;
    cout << "===============================================" << endl;
    cout << "=====================常量=======================" << endl;
//    UseOfConst useOfConst;
//    useOfConst.show();

    cout << "===============================================" << endl;
    cout << "=====================运算符=======================" << endl;
//    UseOfOperator useOfOperator;
//    useOfOperator.show();

    cout << "===============================================" << endl;
    cout << "=====================分支结构=======================" << endl;
//    BranchStrcture branchStrcture;
//    branchStrcture.show();

    cout << "===============================================" << endl;
    cout << "=====================循环结构=======================" << endl;
//    LoopStateMent loopStateMent;
//    loopStateMent.show();

    cout << "===============================================" << endl;
    cout << "=====================数组=======================" << endl;
//    ArrayStudy arrayStudy;
//    arrayStudy.show();
    */


    /*
    cout << endl << endl;
    cout << "Day5" << endl;
    cout << "===============================================" << endl;
    cout << "=====================lambda表达式=======================" << endl;
//    LambdaMethod lambdaMethod;
//    lambdaMethod.show();
    cout << "===============================================" << endl;
    cout << "=====================goto=======================" << endl;
//    GotoMethod gotoMethod;
//    gotoMethod.show();

    cout << "===============================================" << endl;
    cout << "=====================异常处理=======================" << endl;
    ExceptionHanding exceptionHanding;
    exceptionHanding.show();
    */

    cout << endl << endl;
    cout << "Day5" << endl;

    cout << "===============================================" << endl;
    cout << "=====================指针=======================" << endl;
    Point point;
    point.show();

  system("pause");
}
